package com.ruoyi.wms.domain.bo.employee;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.mybatis.core.domain.BaseEntity;
import com.ruoyi.wms.domain.entity.employee.EmployeeSalary;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 员工薪酬业务对象 employee_salary
 *
 * @author 邓滔滔
 * @date 2024-11-29
 */

@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = EmployeeSalary.class, reverseConvertGenerate = false)
public class EmployeeSalaryBo extends BaseEntity {

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 员工ID
     */
    @NotNull(message = "员工ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long employeeId;

    /**
     * 基本工资-k指标
     */
    private BigDecimal baseSalary;

    /**
     * 津贴-p指标
     */
    private BigDecimal allowance;

    /**
     * 奖金-I指标
     */
    private BigDecimal bonus;

    /**
     * 工资发放状态(0-未发放，1已发放）
     */
    private Integer status;

    /**
     * 扣款
     */
    private BigDecimal deduction;

    /**
     * 实发工资
     */
    private BigDecimal netSalary;

    /**
     * 发薪周期
     */
    @NotNull(message = "发薪周期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date payPeriod;

    /**
     * 备注
     */
    private String remarks;


}
